package com.xmtlxx.tms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 线路途经点业务对象 t_line_poi
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("线路途经点业务对象")
public class LinePoiBo extends BaseEntity {

    /**
     * 途经点ID
     */
    @ApiModelProperty(value = "途经点ID")
    private String id;

    /**
     * 线路ID
     */
    @ApiModelProperty(value = "线路ID", required = true)
    @NotBlank(message = "线路ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lineId;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", required = true)
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 类型:0-起点；1-途经点；2-目的地
     */
    @ApiModelProperty(value = "类型:0-起点；1-途经点；2-目的地", required = true)
    @NotBlank(message = "类型:0-起点；1-途经点；2-目的地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 客户id
     */
    @ApiModelProperty(value = "客户id", required = true)
    @NotBlank(message = "客户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String clientId;

    /**
     * 地址id
     */
    @ApiModelProperty(value = "地址id", required = true)
    @NotBlank(message = "地址id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String addressId;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址", required = true)
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String address;

    /**
     * 部门
     */
    @ApiModelProperty(value = "部门", required = true)
    @NotNull(message = "部门不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人")
    private String contacts;

    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    private String tel;

    /**
     * 顺序
     */
    @ApiModelProperty(value = "顺序")
    private Integer seq;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private String lng;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private String lat;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;

    /**
     * 取件人
     */
    private Long pickupId;
    /**
     * 派件人
     */
    private Long dispatchId;
}
